﻿//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1998-2024 Glodon Company Limited.
//
// Licensed under the MIT License
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the “Software”),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//////////////////////////////////////////////////////////////////////////////
#pragma once

namespace gcmp
{
    // 结构类型
    enum class StructureType : int32_t
    {
        CastInPlaceConcrete = 0,    // 现浇混凝土
        Steel               // 钢结构
    };

    // 结构构件的混凝土强度等级
    enum class ConcreteStrengthGradeType : int32_t
    {
        CSG_C15 = 0,
        CSG_C20 = 1,
        CSG_C25 = 2,
        CSG_C30 = 3,
        CSG_C35 = 4,
        CSG_C40 = 5,
        CSG_C45 = 6,
        CSG_C50 = 7,
        CSG_C55 = 8,
        CSG_C60 = 9,
        CSG_C65 = 10,
        CSG_C70 = 11,
        CSG_C75 = 12,
        CSG_C80 = 13,
        CSG_C85 = 14,
        CSG_C90 = 15,
        CSG_C95 = 16
    };

    enum class BeamZPositioningType : int32_t
    {
        Top = 0,            // 顶部
        Bottom              // 底部
    };

    enum class RaftFoundationZPositioningType : int32_t
    {
        Top = 0,            // 顶部
        Bottom              // 底部
    };

    //洞口竖直方向上的定位位置
    enum class WallHoleZPositioningType : int32_t
    {
        Center = 0,  // 中心
        Bottom = 1   // 底边
    };

    //条形基础竖直方向上的定位位置
    enum class StripFoundationZPositioningType : int32_t
    {
        Top = 0,            // 顶部
        Bottom              // 底部
    };
}
